Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MP4: Handle more metadata #2179

Merged
merged 3 commits into from
Feb 9, 2025
Merged

Conversation

cjee21
Copy link
Contributor

@cjee21 cjee21 commented Jan 29, 2025

  • Extract Samsung Model Number metadata from udta->smta->mdln atom
  • Show writing library metadata from container in output
  • Handle com.android.version metadata

Issue #2175

MediaTrace:

96BED65   Text - Performer (31 bytes)
96BED65    Header (8 bytes)
96BED65     Size:                               31 (0x0000001F)
96BED69     Name:                               auth
96BED6D    Version:                             0 (0x00)
96BED6E    Flags:                               0 (0x000000)
96BED71    Language:                            5575 (0x15C7) - eng
96BED73    Value:                               Galaxy S23 Ultra
96BED84   Samsung Metadata (42 bytes)
96BED84    Header (8 bytes)
96BED84     Size:                               42 (0x0000002A)
96BED88     Name:                               smta
96BED8C    Version:                             0 (0x00)
96BED8D    Flags:                               0 (0x000000)
96BED90    saut (14 bytes)
96BED90     Header (8 bytes)
96BED90      Size:                              14 (0x0000000E)
96BED94      Name:                              saut
96BED98     Unknown:                            (6 bytes)
96BED9E    Model Number (16 bytes)
96BED9E     Header (8 bytes)
96BED9E      Size:                              16 (0x00000010)
96BEDA2      Name:                              mdln
96BEDA6     Value:                              SM-S918B

MediaInfo:

Performer                                : Galaxy S23 Ultra
Encoded date                             : 2025-01-12 06:12:18 UTC
Tagged date                              : 2025-01-12 06:12:18 UTC
Samsung model number                     : SM-S918B
Android version                          : 14

@JeromeMartinez
Copy link
Member

Performer : Galaxy S23 Ultra

This is not something I expect, could you share a file with that so I can better understand from where it is?

Samsung model number : SM-S918B

I am not keen about having a Samsung specific field, it should be a generic field. It may be General_Encoded_Application (used for XDACM "model name") or a generic "ModelNumber".
I'll check a bit more what I have in my repository.

@JeromeMartinez
Copy link
Member

Android version : 14

In a similar way, maybe General_Encoded_Library_Name + General_Encoded_Application_Version is better there but I need to figure out how I manage iOS there.

@cjee21
Copy link
Contributor Author

cjee21 commented Feb 9, 2025

Performer : Galaxy S23 Ultra

This is not something I expect, could you share a file with that so I can better understand from where it is?

Sample file from another Samsung phone here: #2175 (comment)

This one shows Performer : Samsung SM-M325FV but it should be same as one from Galaxy S23 Ultra. The video I have from S23 is not mine so cannot share.

Android version : 14

In a similar way, maybe General_Encoded_Library_Name + General_Encoded_Application_Version is better there but I need to figure out how I manage iOS there.

I got iOS sample from online which shows this:

com.apple.quicktime.make                 : Apple
com.apple.quicktime.model                : iPhone 12 Pro
com.apple.quicktime.software             : 14.1
com.apple.quicktime.creationdate         : 2020-11-06T17:19:58-0500

@cjee21
Copy link
Contributor Author

cjee21 commented Feb 9, 2025

Offtopic, while running a local build to ensure everything still builds fine, I found that ARM builds are failing with many errors regarding WindowsNamespace::... in file winbase.h

@JeromeMartinez
Copy link
Member

Offtopic, while running a local build to ensure everything still builds fine, I found that ARM builds are failing with many errors regarding WindowsNamespace::... in file winbase.h

It should be resolved with an update some time ago, and we build now ARM port with VS2022 on our build farm.
If still an issue somewhere, please a dedicated ticket with details about how to reproduce the issue.

@cjee21
Copy link
Contributor Author

cjee21 commented Feb 9, 2025

Offtopic, while running a local build to ensure everything still builds fine, I found that ARM builds are failing with many errors regarding WindowsNamespace::... in file winbase.h

It should be resolved with an update some time ago, and we build now ARM port with VS2022 on our build farm. If still an issue somewhere, please a dedicated ticket with details about how to reproduce the issue.

I'll look into and see what is going on first. Since it built fine when MediaInfo 24.12 was released, it may be broken by a Visual Studio update.

Edit: Found the cause. Setting C++20 std causes build failure for ARM64. @JeromeMartinez, the other PR needs changes.

@JeromeMartinez
Copy link
Member

This one shows Performer : Samsung SM-M325FV but it should be same as one from Galaxy S23 Ultra. The video I have from S23 is not mine so cannot share.

Even Samsung is not able to have a common scheme for where the model name is and where the marketing name is :).
but I guess that the S23 output is the long term one...

The "S23" stuff is in the "auth" metadata, expected to be the author/performer, not the model name, I guess I have to put check on some exception...s

@JeromeMartinez
Copy link
Member

For the moment I merge and I'll update it soon with a different approach for the Android version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants